package com.aiwiown.snackmq.common.dto.console;

import com.aiwiown.snackmq.common.routing.ExchangeType;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * 用于在控制台和 Broker 之间传输 Exchange 信息的 DTO (Data Transfer Object)。
 * 这是一个纯粹的数据持有者，不包含任何业务逻辑。
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ExchangeInfoDTO {

    private String name;
    private ExchangeType type;
    private List<BindingInfoDTO> bindings;

    /**
     * 嵌套类，用于表示单个绑定的信息。
     */
    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public static class BindingInfoDTO {
        private String queueName;
        private String routingKey;
    }
}